﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NikotinBert
{
    class Bert : Lebewesen
    {
        private int nikotinPegel;
        private bool bertRaucht;
		private TimeSpan rauchCooldown = TimeSpan.FromMinutes(5.0);
        private DateTime lastTick = DateTime.Now;

        public int getNikotinPegel()
        {
            return nikotinPegel;
        }

        public void setNikotinPegel(int nikotinPegel)
        {
            this.nikotinPegel = nikotinPegel;
        }

		public TimeSpan getRauchCooldown()
		{
			return rauchCooldown;
		}
		
		public void setRauchCooldown(TimeSpan rauchCooldown)
		{
			this.rauchCooldown = rauchCooldown;
		}
		
        public override void refresh(DateTime weltZeit)
        {
            // wenn kein nikotin mehr da lebenspunkte verringern
			//TODO: cooldown einbauen, mittels TimeSpan
			
            if (nikotinPegel == 0 && lebenspunkte != 0)
            {
                if ((weltZeit - lastTick) >= rauchCooldown)
                {
                    lebenspunkte--;
                    lastTick = weltZeit;
                }
            }
            else if (lebenspunkte < 100 && lebenspunkte != 0)
            {
                lebenspunkte++;
            }

            // wenn bert raucht, wird nikotinpegel erhöht
            if (nikotinPegel != 100 && bertRaucht)
            {
                nikotinPegel++;
            }
            else if (nikotinPegel != 0 && !bertRaucht)
            {
                nikotinPegel--;
            }

        }
    }
}